package com.cskaoyan.javase.oop2._2polymorphic._2advantage;
/**
 * 方法的返回值和返回值类型以及方法的实参和形参类型必须要保持一致吗?
 *      不是
 *      基本数据类型存在自动类型转换
 *      引用数据类型同样存在向上转换
 *      于是可以保持不一致.
 *
 * 
 * @since 11:00
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        test(1);
        test2(new A());
        test2(new ASon());
    }

    public static double test(double a){
        return 1L;
    }

    public static A test2(A a){
        // 子类可以看成父类,所以这里可以返回父类对象,还可以返回子类对象
        return new ASon();
    }
}
class A{}
class ASon extends A{}